An electronic design may be developed in a high-level modeling system (HLMS) by selecting various blocks and specifying connections between the blocks. The HLMS may have a graphical user interface that includes windows for assembling the electronic design and for displaying libraries of icons for the blocks. A user of the HLMS may select the icons of certain blocks from the library window and position the selected icons in the assembly window using a pointing device, such as a mouse of a general purpose computer. The icons may have ports representing the inputs and outputs of the corresponding blocks, and the ports may be successively selected using the pointing device to specify an interconnection between the blocks.
The HLMS may be used to develop an electronic design at a high level of abstraction. A block from a library of the HLMS may have parameters that specify the details of the operation of the block, and the values of certain parameters may be automatically determined by the HLMS. For example, a block may have parameters that specify the data types and data rates of the ports of the block, and the specification of a data type and data rate for one port of a block may permit the HLMS to determine the data type and data rate for every other port of the block. In addition, after the data type and data rate are determined for a port of a block, the HLMS may be able to determine the data type and data rate of the ports of another connected block. Thus, the HLMS might determine the data type and data rate for every port of every block after a user of the HLMS has specified data types and data rates at a few important points in the electronic design.
Certain HLMS, such as System Generator available from Xilinx, Inc., may generate an implementation of the electronic design in a programmable logic device (PLD). A PLD may include one or more embedded processors that may be useful for implementing an electronic design. A user of the HLMS may choose to implement a portion of the electronic design in software executing on an embedded processor. However, the embedded processor may not have enough processing power to complete a step of executing the software within a required time period. The user of the HLMS may react to such insufficient processing power of the embedded processor by modifying the electronic design to implement some of the software functions in the hardware resources of the PLD. However, migrating functions from a software implementation to a hardware implementation, and vice versa, may be time-consuming and expensive.
The present invention may address one or more of the above issues.